package com.sz.mes.entity;

import java.util.Date;
import java.lang.Double;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.sz.mes.entity.BaseCustomEntity;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.util.D;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
* 加工单关联表 Entity定义
* @author hem
* @version 1.0
* @date 2023-05-25
* Copyright © szhs
*/
@Getter @Setter @Accessors(chain = true)
@TableName("worksheet_relation")
public class WorksheetRelation extends BaseCustomEntity {
    private static final long serialVersionUID = -3090580275056437221L;

    /**
    * state字段的关联字典
    */
    public static final String DICT_PROCESS_STATUS = "PROCESS_STATUS";

    /**
    * 加工单 
    */
    @TableField()
    private Long worksheetId;

    /**
    * 加工单号 
    */
    @Length(max=100, message="加工单号长度应小于100")
    @TableField()
    private String worksheetNum;

    /**
    * 生产数量 
    */
    @Length(max=100, message="生产数量长度应小于100")
    @TableField()
    private String productionQuantity;

    /**
    * 加工开始时间 
    */
    @TableField()
    private Date processStartTime;

    /**
    * 加工结束时间 
    */
    @TableField()
    private Date processEndTime;

    /**
    * 商品 
    */
    @TableField()
    private Long goodsId;

    /**
    * 设备 
    */
    @TableField()
    private Long equipmentId;

    /**
    * 投料累计 
    */
    @TableField()
    private Integer totalCast;

    /**
    * 产出累计 
    */
    @TableField()
    private Integer totalOutput;

    /**
    * 坏件累计 
    */
    @TableField()
    private Integer totalBad;

    /**
    * 虚拟库存 
    */
    @TableField()
    private Long virtualInventory;

    /**
    * 虚拟产出 
    */
    @TableField()
    private Long virtualOutput;

    /**
    * 完成状态 
    */
    @Length(max=100, message="完成状态长度应小于100")
    @TableField()
    private String state;

    /**
    * 完成原因 
    */
    @Length(max=100, message="完成原因长度应小于100")
    @TableField()
    private String completeReason;

    /**
    * 完成备注 
    */
    @Length(max=100, message="完成备注长度应小于100")
    @TableField()
    private String completeRemark;

    /**
    * 操作人员 
    */
    @TableField()
    private Long userId;

    /**
    * 是否使用0否1是 
    */
    @TableField()
    private Integer ifUsed;

    /**
    * 工序的排序 
    */
    @Length(max=100, message="工序的排序长度应小于100")
    @TableField()
    private String sort;

    /**
    * 二维码 
    */
    @Length(max=100, message="二维码长度应小于100")
    @TableField()
    private String code;

    /**
    * 创建人 
    */
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;

    /**
    * 更新人 
    */
    @TableField(fill = FieldFill.UPDATE)
    private Long updateBy;

    /**
    * 更新时间 
    */
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;


} 
